package com.mhc.suzuki.vo.snapshot;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhc.suzuki.util.HistoryAlias;
import com.mhc.suzuki.util.HistoryId;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class PaymentRequestSnapshotVO {

    /**
     * 订单编号
     */
    @HistoryId(alias = "订单号")
    private String orderNo;

    /**
     * 客户编号
     */
    @HistoryAlias(alias = "客户编号")
    private Long customerId;

    /**
     * 贷款信息ID
     */
    @HistoryAlias(alias = "贷款信息ID")
    private Long loanInfoId;

    /**
     * 收款方账号名称，如经销商名称
     */
    @HistoryAlias(alias = "收款方账号名称")
    private String payeeAccountName;

    /**
     * 收款方开户银行ID
     */
    @HistoryAlias(alias = "收款方开户银行ID")
    private Long payeeBankId;

    /**
     * 收款方开户银行名称
     */
    @HistoryAlias(alias = "收款方开户银行名称")
    private String payeeBankName;

    /**
     * 收款方银行卡号
     */
    @HistoryAlias(alias = "收款方银行卡号")
    private String payeeBankCard;

    /**
     * 支付方式，如网银
     */
    @HistoryAlias(alias = "支付方式")
    private Integer paymentWay;

    /**
     * 贷款用途
     */
    @HistoryAlias(alias = "贷款用途")
    private String loanUseage;

    /**
     * 垫资金额
     */
    @HistoryAlias(alias = "垫资金额")
    private java.math.BigDecimal loaningAmount;

    /**
     * 垫资日期
     */
    @JsonFormat(pattern="yyyy-MM-dd")
    @HistoryAlias(alias = "垫资日期")
    private LocalDateTime loaningDate;

    /**
     * 业务员ID
     */
    @HistoryAlias(alias = "业务员ID")
    private Long staffId;

    /**
     * 业务员名称
     */
    @HistoryAlias(alias = "业务员名称")
    private String staffName;

    /**
     * 打款确认员工ID
     */
    @HistoryAlias(alias = "打款确认员工ID")
    private Long handleStaffId;

    /**
     * 业务员所属部门ID
     */
    @HistoryAlias(alias = "业务员所属部门ID")
    private Long deptId;

    /**
     * 业务员所属部门名称
     */
    @HistoryAlias(alias = "业务员所属部门名称")
    private String deptName;

    /**
     * 申请状态
     */
    @HistoryAlias(alias = "申请状态")
    private String applyStatus;
}
